package com.example.design.patterns.冰河.行为模式.访问者模式.visitor;

import com.example.design.patterns.冰河.行为模式.访问者模式.concreteElement.FloatElement;
import com.example.design.patterns.冰河.行为模式.访问者模式.concreteElement.StringElement;
import java.util.Collection;

/**
 * Visitor为该对象结构中ConcreteElement的每一个类声明一个Visit操作。该操作的名字和特征标
 * 识了发送 Visit 请求给该访问者的那个类。这使得访问者可以确定正被访问元素的具体的类。这样
 * 访问者就可以通过该元素的特定接口直接访问它。
 */
public interface Visitor {
    public void visitString(StringElement stringElement);

    public void visitFloat(FloatElement floatElement);

    public void visitCollection(Collection collection);
}
